package jannex.mapping;

public class Mapping<E> {

    private final Class<E> elementClass;
    private final MappedField<E>[] fields;

    private final String schema;
    private final String table;

    private final String[] uniqueConstraints;
    private final String[] orderBy;
    private final String id;

    public Mapping(Class<E> elementClass, MappedField<E>[] fields, String schema, String table,
                   String[] uniqueConstraints, String[] orderBy, String id) {
        this.elementClass = elementClass;
        this.fields = fields;
        this.schema = schema;
        this.table = table;
        this.uniqueConstraints = uniqueConstraints;
        this.orderBy = orderBy;
        this.id = id;
    }

    public Class<E> getElementClass() {
        return elementClass;
    }

    public String getTable() {
        return table;
    }

    public String getSchema() {
        return schema;
    }

    public String getId() {
        return id;
    }

    public String[] getOrderBy() {
        return orderBy;
    }

    public String[] getUniqueConstraints() {
        return uniqueConstraints;
    }

    public MappedField<E>[] getFields() {
        return fields;
    }

}
